var busqueda_actual = "";
var refreshTimer;
var refreshTimeOut = 120000;

var refreshDataTimer;
var torneoDataTimeOut = 30000;

var estadoClock = "DESHABILITADO";

$(document).ready(function() {
    $("#bxSearch").on('keydown keypress keyup paste input', function() {
        resetTimer();
    });
    getTorneoNombre();
    refreshAll();
});

function resetTimer() {
    stopTimer();
    refreshTimer = setTimeout("refreshAll()", refreshTimeOut);
}
function stopTimer() {
    if (refreshTimer !== null) {
        clearTimeout(refreshTimer);
    }
}

function resetDataTimer() {
    stopTimer();
    refreshDataTimer = setTimeout("refreshData()", torneoDataTimeOut);
}
function stopDataTimer() {
    if (refreshDataTimer !== null) {
        clearTimeout(refreshDataTimer);
    }
}


function getTorneoNombre() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ListadoController.php",
        data: "accion=GET_TORNEO_NOMBRE",
        success: function(data) {
            $('#torneoNombre').html(data);
        }
    });
}


//OBTIENE EL LISTADO DE PERSONAS
function getListado(pagina) {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ListadoController.php",
        data: "accion=LISTAR&pagina=" + pagina + "&buscar=" + busqueda_actual,
        success: function(data) {
            $('#listado').html(data);
        }
    });
}


//PAGINADO
function paginar(pagina) {
    getListado(pagina);
    $("#bxSearch").select();
    $("#bxSearch").focus();
    resetTimer();
}


//SUBMIT FORMULARIO DE BUSQUEDA
$(function() {
    $("#formSearch").submit(function(e) {
        e.preventDefault();
        resetTimer();
        busqueda_actual = $("#bxSearch").val();
        busqueda_actual = busqueda_actual.replace(".", "~");
        getListado(1);
        $("#bxSearch").select().focus();
    });
});


//RESET FORMULARIOD DE BUSQUEDA
function resetSearchForm() {
    busqueda_actual = "";
    $("#bxSearch").val("");
    $("#bxSearch").focus();
    resetTimer();
}


//REFRESH LISTADO
function refreshListado() {
    resetSearchForm();
    getListado(1);
}


// REFRESCA TODO
function refreshAll() {
    refreshListado();
    refreshData();
    refreshClockEstado();
    resetTimer();
}


//CIERRA LA SESSION ACTUAL
function logout() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/SessionController.php",
        data: "accion=LOGOUT",
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}


//REMUEVE EL VALOR DEL TORNEO SELECCIONADO EN SESSION
function unsetTorneo() {
    stopTimer();
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/SessionController.php",
        data: "accion=UNSET_TORNEO",
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}

//  ////////////////////////////////////////////
//  /////////    MENU PARTICIPANTE    //////////
//  ////////////////////////////////////////////

function menuParticipante(id) {
    stopTimer();
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Views/MenuParticipante.php",
        data: "psid=" + id,
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}


//  ////////////////////////////////////////////
//  //    ACTUALIZACION DE DATOS DEL JUEGO    //
//  ////////////////////////////////////////////

function refreshData() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ListadoController.php",
        data: "accion=GET_TORNEO_DATA",
        success: function(data) {
            if (data) {
                var d = data.split("~");
                $('#inscriptos').html(d[0]);
                $('#concursantes').html(d[1]);
                $('#puntosTotal').html(d[2]);
                $('#puntosPromedio').html(d[3]);
                $('#recompras').html(d[4]);
                $('#addons').html(d[5]);
                $('#pozo').html(d[6]);
                $('#nivel').html(d[7]);
                $('#ante').html(d[8]);
                $('#ciegas').html(d[9]);
            }
            resetDataTimer();
        }
    });
}




// /////////////////////////////////////////////
// /////////   CONTROL POKER CLOCK     /////////
// /////////////////////////////////////////////

//SETEA UN NUEVO ESTADO EN EL POKER CLOCK
function controlJuego(estado) {
    if (estado === "RESTART") {
        if (!confirm("REALMENTE DESEA REINICIAR EL NIVEL?")) {
            return;
        }
    }
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ListadoController.php",
        data: "accion=SET_ESTADO&valor=" + estado,
        success: function(data) {
            refreshClockEstado();
        }
    });
}


//OBTIENE EL ESTADO ACTUAL DEL POKER CLOCK
function refreshClockEstado() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ListadoController.php",
        data: "accion=GET_ESTADO",
        success: function(data) {
            estadoClock = data;
            if (data === "DESHABILITADO") {
                $('#botoneraClock').hide(200, function(){
                    $('#btnHabilitarJuego').show(200);
                });
            } else {
                $('#btnHabilitarJuego').hide(200,function(){
                    $('#botoneraClock').show(200);
                }) ;                

                if (data === "PAUSE" || data === "RESTART") {
                    //PAUSA
                    $('#btnPause').attr('disabled', true);
                    $('#btnPlay').attr('disabled', false);
                    $('#btnRestart').attr('disabled', false);
                } else if (data === "PLAY") {
                    //PLAY
                    $('#btnPause').attr('disabled', false);
                    $('#btnPlay').attr('disabled', true);
                    $('#btnRestart').attr('disabled', false);
                } else {
                    //OTRO
                    $('#btnPause').attr('disabled', true);
                    $('#btnPlay').attr('disabled', true);
                    $('#btnRestart').attr('disabled', true);
                }
            }
        }
    });
}



//  ////////////////////////////////////////////
//  /////////       MENU TORNEO       //////////
//  ////////////////////////////////////////////


function habilitarJuego() {
    stopTimer();
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Views/HabilitarJuego.php",
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}


function reorganizarJugadores() {
    stopTimer();
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Views/ReorganizarJugadores.php",
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}



function finalizarJuego() {
    stopTimer();
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Views/FinalizarJuego.php",
        success: function(data) {
            $('#secundario').html(data);
        }
    });
}